/*
 * File: power_on_and_power_off_practice2.h
 *
 * Code generated for Simulink model 'power_on_and_power_off_practice2'.
 *
 * Model version                  : 1.11
 * Simulink Coder version         : 25.1 (R2025a) 21-Nov-2024
 * C/C++ source code generated on : Thu Jul 31 15:58:03 2025
 *
 * Target selection: ert.tlc
 * Embedded hardware selection: Intel->x86-64 (Windows64)
 * Code generation objectives: Unspecified
 * Validation result: Not run
 */

#ifndef power_on_and_power_off_practice2_h_
#define power_on_and_power_off_practice2_h_
#ifndef power_on_and_power_off_practice2_COMMON_INCLUDES_
#define power_on_and_power_off_practice2_COMMON_INCLUDES_
#include "rtwtypes.h"
#include "math.h"
#endif                   /* power_on_and_power_off_practice2_COMMON_INCLUDES_ */

#include "power_on_and_power_off_practice2_types.h"

/* Macros for accessing real-time model data structure */
#ifndef rtmGetErrorStatus
#define rtmGetErrorStatus(rtm)         ((rtm)->errorStatus)
#endif

#ifndef rtmSetErrorStatus
#define rtmSetErrorStatus(rtm, val)    ((rtm)->errorStatus = (val))
#endif

/* Block states (default storage) for system '<Root>' */
typedef struct {
  real_T i;                            /* '<Root>/StartUpAndShutDown' */
  uint8_T is_active_c3_power_on_and_power;/* '<Root>/StartUpAndShutDown' */
  uint8_T is_c3_power_on_and_power_off_pr;/* '<Root>/StartUpAndShutDown' */
  uint8_T is_HV_OFF;                   /* '<Root>/StartUpAndShutDown' */
  uint8_T is_HV_ON;                    /* '<Root>/StartUpAndShutDown' */
  uint8_T is_LV_OFF;                   /* '<Root>/StartUpAndShutDown' */
  uint8_T is_LV_ON;                    /* '<Root>/StartUpAndShutDown' */
} DW_power_on_and_power_off_pra_T;

/* External inputs (root inport signals with default storage) */
typedef struct {
  real_T VIS_stKeyOn;                  /* '<Root>/VIS_stKeyOn' */
  real_T VIS_stVCUSefChk;              /* '<Root>/VIS_stVCUSefChk' */
  real_T FlT_stSysFltLvl;              /* '<Root>/FlT_stSysFltLvl' */
  real_T VIS_stGearTarget;             /* '<Root>/VIS_stGearTarget' */
  real_T VIS_stBrk;                    /* '<Root>/VIS_stBrk' */
  real_T OBC_stConnectCC;              /* '<Root>/OBC_stConnectCC' */
  real_T VIS_stKeyStart;               /* '<Root>/VIS_stKeyStart' */
  real_T BMS_stPrechg;                 /* '<Root>/BMS_stPrechg' */
  real_T BMS_stMainRly;                /* '<Root>/BMS_stMainRly' */
  real_T DCDC_stWorkMode;              /* '<Root>/DCDC_stWorkMode' */
  real_T MCU_stMotWorkMode;            /* '<Root>/MCU_stMotWorkMode' */
  real_T GSM_vVehSpd;                  /* '<Root>/GSM_vVehSpd' */
  real_T MCU_uBusVlotage;              /* '<Root>/MCU_uBusVlotage' */
} ExtU_power_on_and_power_off_p_T;

/* External outputs (root outports fed by signals with default storage) */
typedef struct {
  real_T STD_STATE;                    /* '<Root>/STD_STATE' */
  real_T STD_stHVPwrReq;               /* '<Root>/STD_stHVPwrReq' */
  real_T STD_stPrechgTimeout;          /* '<Root>/STD_stPrechgTimeout' */
  real_T STD_stMainRlyCntTimeout;      /* '<Root>/STD_stMainRlyCntTimeout' */
  real_T STD_stDCDCEn;                 /* '<Root>/STD_stDCDCEn' */
  real_T STD_stDCDCEnTimeout;          /* '<Root>/STD_stDCDCEnTimeout' */
  real_T STD_stMototEn;                /* '<Root>/STD_stMototEn' */
  real_T STD_stMotorEnTimeout;         /* '<Root>/STD_stMotorEnTimeout' */
  real_T STD_stReadyLamp;              /* '<Root>/STD_stReadyLamp' */
  real_T STD_stMotorDisaTimeout;       /* '<Root>/STD_stMotorDisaTimeout' */
  real_T STD_stDCDCDisaTimeout;        /* '<Root>/STD_stDCDCDisaTimeout' */
  real_T STD_stMainRlyDiscntTimeout;   /* '<Root>/STD_stMainRlyDiscntTimeout' */
  real_T STD_stMotorDischgReq;         /* '<Root>/STD_stMotorDischgReq' */
  real_T STD_stMotorDischgFailed;      /* '<Root>/STD_stMotorDischgFailed' */
  real_T STD_stSleepFlg;               /* '<Root>/STD_stSleepFlg' */
} ExtY_power_on_and_power_off_p_T;

/* Real-time Model Data Structure */
struct tag_RTM_power_on_and_power_of_T {
  const char_T * volatile errorStatus;
};

/* Block states (default storage) */
extern DW_power_on_and_power_off_pra_T power_on_and_power_off_pract_DW;

/* External inputs (root inport signals with default storage) */
extern ExtU_power_on_and_power_off_p_T power_on_and_power_off_practi_U;

/* External outputs (root outports fed by signals with default storage) */
extern ExtY_power_on_and_power_off_p_T power_on_and_power_off_practi_Y;

/* Model entry point functions */
extern void power_on_and_power_off_practice2_initialize(void);
extern void power_on_and_power_off_practice2_step(void);
extern void power_on_and_power_off_practice2_terminate(void);

/* Real-time Model object */
extern RT_MODEL_power_on_and_power_o_T *const power_on_and_power_off_pract_M;

/*-
 * The generated code includes comments that allow you to trace directly
 * back to the appropriate location in the model.  The basic format
 * is <system>/block_name, where system is the system number (uniquely
 * assigned by Simulink) and block_name is the name of the block.
 *
 * Use the MATLAB hilite_system command to trace the generated code back
 * to the model.  For example,
 *
 * hilite_system('<S3>')    - opens system 3
 * hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3
 *
 * Here is the system hierarchy for this model
 *
 * '<Root>' : 'power_on_and_power_off_practice2'
 * '<S1>'   : 'power_on_and_power_off_practice2/StartUpAndShutDown'
 */
#endif                                 /* power_on_and_power_off_practice2_h_ */

/*
 * File trailer for generated code.
 *
 * [EOF]
 */
